It is well known in the arts to use Pulse Code Modulation (PCM) in transmitting digital signals with a digital modem downstream to a receiving modem. Using the V.90 standard, for example, a digital modem transmits a Digital Impairment Learning (DIL) sequence to an analog receiving modem. The analog modem uses the DIL sequence to determine the digital impairments present in the communication link, for example, Robbed Bit Signaling (RBS) and digital pads. Using this information, the analog modem then selects a signal constellation for continued downstream transmission from the sending modem. Due to the nature of the RBS impairment (periodic, repeating every sixth symbol), the V.90 standard defines a data frame to consist of six symbols. Each of the six symbols, according to the V.90 standard, potentially contains 256 PCM energy levels. In general, the six data frame symbols are affected differently by the digital impairments. However, it is common in the art to use one signal constellation for all of the six symbols. This generalization to a one-size-fits-all constellation limits system performance. An additional problem is posed by the existence of maximum power limitations which place a constraint on the total amount of energy that may be transmitted.
Accordingly, a need exists for a way of increasing performance and efficiency while maximizing the amount of information transmitted within a given power constraint. A method of dynamically selecting PCM signal constellations in relation to digital impairments, line conditions, performance requirements, and power constraints would provide numerous advantages.